package com.cnaaa.xinqiao.service.impl;

import com.cnaaa.xinqiao.dao.BaseDao;
import com.cnaaa.xinqiao.service.BaseService;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 2018/10/19 Create by 郭文梁
 * BaseServiceImpl
 * 基础服务类实现
 *
 * @author 郭文梁
 * @date 2018/10/19
 */
@Service
public abstract class BaseServiceImpl<T> implements BaseService<T> {

    @Override
    public List<T> list() {
        return getRepository().list();
    }

    @Override
    public List<T> listPage(int page, int size) {
        return getRepository().listPage((page - 1) * size, size);
    }

    /**
     * 获取数据访问对象， 由子类实现
     *
     * @return 数据访问对象
     */
    abstract BaseDao<T> getRepository();
}
